package io.geekidea.boot.warehousentry.query.entity;

import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.geekidea.boot.area.entity.Area;
import io.geekidea.boot.common.BaseEntity;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;

import java.io.Serializable;
import java.time.LocalDateTime;

@Getter
@Setter
@NoArgsConstructor
@ToString(callSuper = true)
@TableName("tb_warehousentry")
public class Warehousentry extends BaseEntity implements Serializable {
    private static final long serialVersionUID = 1l;

    /**
     * 主键
     */
    @TableId(value = "id",type = IdType.AUTO)
    private Integer id;

    /**
     * 入库单号
     */
    @ExcelProperty("入库单号")
    @TableField("numbers")
    private String numbers;
    /**
     * 入库类型
     */
    @ExcelProperty("入库类型")
    @TableField("type")
    private String type;

    /**
     * 物料行数
     */
    @ExcelProperty("物料行数")
    @TableField("materialTypeNum")
    private Integer materialTypeNum;
    /**
     * 物料总数量
     */
    @ExcelProperty("物料总数量")
    @TableField("materialNum")
    private Integer materialNum;
    /**
     * 总金额
     */
    @ExcelProperty("总金额")
    @TableField("money")
    private Double money;
    /**
     * 入库状态
     */
    @TableField("status")
    private String status;
    /**
     * 制单人
     */
    @ExcelProperty("制单人")
    @TableField("creatorUser")
    private String creatorUser;
    /**
     * 制单时间
     */
    @TableField("creatorTime")
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime creatorTime;

    /**
     * 审核人
     */
    @TableField("examineUser")
    private String examineUser;

    /**
     * 审核时间
     */
    @TableField("examineTime")
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime examineTime;
    /**
     * 审核留言
     */
    @TableField("examineContent")
    private String examineContent;
    /**
     * 修改时间
     */
    @TableField("updatedTime")
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime updatedTime;
    /**
     * 关联单号
     */
    @TableField("ciationNumbers")
    private  String ciationNumbers;


    /**
     * 关联战区表id
     */
    @TableField("areaId")
    private Integer areaId;

    /**
     * 关联门店表id
     */
    @TableField("storeId")
    private Integer storeId;

    /**
     * 关联仓库表id
     */
    @TableField("warehouseId")
    private Integer warehouseId;

    /**
     * 关联供应商表id
     */
    @TableField("supplierId")
    private Integer supplierId;

    /**
     * 入库凭证
     */
    @TableField("voucherUrl")
    private String voucherUrl;

    /**
     * 战区名称
     */
    @ExcelProperty("战区名称")
    @TableField(exist = false)
    private  String areaName;
    /**
     * 门店名称
     */
    @ExcelProperty("门店名称")
    @TableField(exist = false)
    private  String storesName;
    /**
     * 门店编码
     */
    @TableField(exist = false)
    private  String storesCode;

    /**
     * 收货仓库
     */
    @ExcelProperty("收货仓库")
    @TableField(exist = false)
    private  String warehouseName;

    /**
     * 供应商名称
     */
    @ExcelProperty("供应商名称")
    @TableField(exist = false)
    private  String supplierName;


}
